When you use a %INCLUDE statement, unexpected syntax errors might occur. The errors usually involve incorrect parsing of the code that is included by the %INCLUDE statement.
The problem occurs when a %INCLUDE statement references sections of SAS code from several members of concatenated extended partitioned data sets (PDSEs). Referencing PDSEs might skip some data when PDSEs do not have the same block size.
To work around this problem, specify the largest block size of the PDSE in the concatenation when you make each PDSE allocation.
PDSE Concatenation Example
Consider the following example PDSE concatenation:
//SASINCLD DD DSN=USERID.TESTPDSE.FB80.BLK8000,DISP=SHR
// DD DSN=USERID.TESTPDSE.FB80.BLK4640,DISP=SHR
// DD DSN=USERID.TESTPDSE.FB80.BLK27920,DISP=SHR
For this example, each PDSE has the same record-format and record-length specification, but each has a different block size value. The SASINCLD ddname allocation is referenced in a %INCLUDE statement:
%include sasincld(member);
Because the block-size values are different, it is possible that the SAS code inside a member of the USERID.TESTPDSE.FB80.BLK4640 PDSE might be read only partially. The following output shows that the SAS code for the DATA step is not read completely. The truncated DATA step is followed by PROC PRINT code, and a syntax error results.
367 + DATA ORDERS
368 + (KEEP=VAR1 VAR2
NOTE: %INCLUDE (LEVEL 1) ENDING.
369 PROC PRINT N UNIFORM DATA=ORDERS ;
____ _
____ _
____ _
22 6
22 6
22 6
79
79
79
ERROR 22-7: INVALID OPTION NAME DATA.
ERROR 22-7: INVALID OPTION NAME DATA.
ERROR 22-7: INVALID OPTION NAME DATA.
ERROR 6-185: MISSING ')' PARENTHESIS FOR DATA SET OPTION LIST.
ERROR 6-185: MISSING ')' PARENTHESIS FOR DATA SET OPTION LIST.
To circumvent the problem in this example, specify 27920 (the largest block size of the PDSE in the concatenation) when you allocate the PDSEs, as shown below:
//SASINCLD DD DSN=USERID.TESTPDSE.FB80.BLK8000,DISP=SHR,BLKSIZE=27920
// DD DSN=USERID.TESTPDSE.FB80.BLK4640,DISP=SHR,BLKSIZE=27920
// DD DSN=USERID.TESTPDSE.FB80.BLK27920,DISP=SHR,BLKSIZE=27920
Operating System and Release Information
SAS System | Base SAS | z/OS | 9.21 | 9.3_M2 | 9.2 TS2M0 | 9.3 TS1M2 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.